Semantic actions

| Note
| All functions return PI_NOVALUE in this version. The data member, pi_data.related , is not used in this version.

Introduction
All fields in this section have the following structure

- Semantic action
- Synopsis
- Parameter
- C/C++ example
- SNiFF+ usage
each of the above is explained in more detail below.

SYNOPSIS

type of semantic action function: | semantic action function

PARAMETER
Relevant members of the pi_data structure pertaining to this function call. In the pages that follow, the parameter list, {x | y | z}, is a "one of", meaning one of the three options (separated by the pipe symbol) must be declared. The parameter list, (x|y|z), prompts you to declare one of the options when the semantic action function is called within a class scope, otherwise none.
DESCRIPTION
Indicates when the function should be called. The description also includes:
C/C++ example
Given for each specific language construct (except Comment). Whenever this construct is parsed, the semantic action function is called. Your parser should call this function if it recognizes this or a similar language construct.

Each example is followed by a description of how SNiFF's Fuzzy Parser would parse it. For example:

pi_data.from: | points to first character of the name " foo "
pi_data.to: | points to last character of the name " foo "
pi_data.name: | " foo "
pi_data.flags: | PI_CLASS

SNiFF+ usage
If your parser recognizes this or a similar language construct, you should notice this in your SNiFF+ application. Language constructs highlighted in the Source Editor are done so between the coordinates pi_data.from and pi_data.to (found under PARAMETER), which are character positions relative to the beginning of the file currently being parsed.